//
//  Status.swift
//  微博09项目
//
//  Created by mac on 15/9/8.
//  Copyright © 2015年 itcast. All rights reserved.
//

import UIKit
//创建微博
class Status: NSObject {
    /// 创建时间
    var created_at: String?
    /// 微博ID
    var id: Int = 0
    /// 微博信息内容
    var text: String?
    /// 微博来源
    var source: String?
    //添加缩略图模型
    var pic_urls: [[String:String]]?
    /// 用户模型 － 如果直接使用 KVC，会变成字典
    var user: User?
    /// 被转发的原创微博对象
    var retweeted_status:Status?
    
    init(dict: [String: AnyObject]){
        super.init()
        setValuesForKeysWithDictionary(dict)
    }
    override func setValue(value: AnyObject?, forKey key: String) {
        if key == "user"{
            user = User(dict:value as! [String:AnyObject])
          // 如果不return，user 属性又会被默认的 KVC 方法，设置成字典
            return
        }
        if key == "retweeted_status"{
            retweeted_status = Status(dict: value as! [String:AnyObject])
           //一定要记得返回，不然这个对象会以只调用父类的方法
            return
        }
        ///出错的更正
        //一定要调用父类的方法，不然显示不出来
        super.setValue(value, forKey: key)
       //打印user信息
       // print(self.user)
    }
    override func setValue(value: AnyObject?, forUndefinedKey key: String) {}
    
    override var description:String{
        let keys = ["created_at","source","text","id","user","pic_urls","retweeted_status"]
        return dictionaryWithValuesForKeys(keys).description
    }
    
    
}
